package com.asiainfo.iam.config;


import com.hangmu.iam.sdk.client.AisDataSyncAppClient;
import com.hangmu.iam.sdk.client.AisSSoClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;

import javax.annotation.PostConstruct;

/**
 * SDK初始化（调用接口前必须初始化）
 */
@Configuration
public class SsoConfig {
    private  static final Logger log= LoggerFactory.getLogger(SsoConfig.class);

    @Value("${iam.gateway.url}")
    private String gatewayUrl;

    @Value("${iam.client.id}")
    private String clientId;

    @Value("${iam.client.secret}")
    private String clientSecret;

    /**
     * 项目启动时初始化SDK客户端
     */
    @PostConstruct
    public void init() {
        try {
            // 初始化单点登录客户端（用于登录、登出等）
            AisSSoClient.init(gatewayUrl, clientId, clientSecret);
            // 初始化数据同步客户端（用于获取用户信息、应用列表等）
            AisDataSyncAppClient.init(gatewayUrl, clientId, clientSecret);
        } catch (Exception e) {
            log.error("SDK初始化失败", e);
            throw new RuntimeException("SDK初始化失败", e);
        }
    }

}
